package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 请假申请对象 ask_leave
 *
 * @author ruoyi
 * @date 2023-12-22
 */
public class AskLeave extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 员工姓名 */
    @Excel(name = "员工姓名")
    private String name;

    /** 员工编号 */
    @Excel(name = "员工编号")
    private String eno;

    /** 申请时长 */
    @Excel(name = "申请时长")
    private String time;

    /** 离岗日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "离岗日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date leaveDate;

    /** 回岗日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "回岗日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date returnDate;

    /** 申请理由 */
    @Excel(name = "申请理由")
    private String reasons;

    /** 状态 */
    @Excel(name = "状态")
    private Integer status;
    @Excel(name = "请假类型")
    private Integer type;

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setEno(String eno)
    {
        this.eno = eno;
    }

    public String getEno()
    {
        return eno;
    }
    public void setTime(String time)
    {
        this.time = time;
    }

    public String getTime()
    {
        return time;
    }
    public void setLeaveDate(Date leaveDate)
    {
        this.leaveDate = leaveDate;
    }

    public Date getLeaveDate()
    {
        return leaveDate;
    }
    public void setReturnDate(Date returnDate)
    {
        this.returnDate = returnDate;
    }

    public Date getReturnDate()
    {
        return returnDate;
    }
    public void setReasons(String reasons)
    {
        this.reasons = reasons;
    }

    public String getReasons()
    {
        return reasons;
    }
    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("eno", getEno())
            .append("time", getTime())
            .append("leaveDate", getLeaveDate())
            .append("returnDate", getReturnDate())
            .append("reasons", getReasons())
            .append("status", getStatus())
            .toString();
    }
}
